Get IAMInstanceProfile $iam=[Amazon.AWSClientFactory]::CreateAmazonIdentityManagementClient($awsKeyId, $awsKey) $req = (new-object Amazon.IdentityManagement.Model.GetInstanceProfileRequest).WithInstanceProfileName(‘S3Reader’) $res = $iam.GetInstanceProfile($req1).GetInstanceProfileResult $iamprofile = (new-object Amazon.EC2.Model.IAMInstanceProfile).WithArn($res.InstanceProfile.Arn).WithId($res.InstanceProfile.InstanceProfileId) Create LaunchSpecification $spec = (new-object Amazon.EC2.Model.LaunchSpecification).WithInstanceProfile($iamprofile).WithSecurityGroup(‘your security group’) $spec.ImageId = ‘ami0000000’ $spec.InstanceType = ‘m1.small’ Create spot request $ec2=[Amazon.AWSClientFactory]::CreateAmazonEC2Client($awsKeyId, $awsKey) $req = new-object Amazon.EC2.Model.RequestSpotInstancesRequest $req.InstanceCount = 1 $req.SpotPrice = ‘0.02’ $req.LaunchSpecification = $spec $ec2.RequestSpotInstances($req).RequestSpotInstancesResult.SpotInstanceRequest[0].SpotInstanceRequestId
Monthly Archives: December 2012
PowerShell: Wait till time service initiated synchronization with the time source (Windows 2008)
$ew = new-object system.management.ManagementEventWatcher $ew.query = “Select * From __InstanceCreationEvent Where TargetInstance ISA ‘Win32_NTLogEvent'” while(!(get-eventlog -logname ‘System’ -Source ‘Microsoft-Windows-Time-Service’ | ? {$_.EventId -eq 35})){ $ew.WaitForNextEvent() }
PowerShell: Wait till time service initiated synchronization with the time source (Windows 2003)
$ew = new-object system.management.ManagementEventWatcher $ew.query = “Select * From __InstanceCreationEvent Where TargetInstance ISA ‘Win32_NTLogEvent'” while(!(get-eventlog -logname ‘System’ -Source ‘W32Time’ | ? {$_.EventId -eq 35})){ $ew.WaitForNextEvent() }
Windows Core: Install PowerShell 3.0 by using PowerShell 2.0
Run the script below in the PowerShell 2.0 on your Windows Core (new-object System.Net.WebClient).DownloadFile(‘http://download.microsoft.com/download/3/6/1/361DAE4E-E5B9-4824-B47F-6421A6C59227/dotNetFx40_Full_x86_x64_SC.exe’, ‘c:\dotNetFx40_Full_x86_x64_SC.exe’) .\dotNetFx40_Full_x86_x64_SC.exe (new-object System.Net.WebClient).DownloadFile(‘http://download.microsoft.com/download/E/7/6/E76850B8-DA6E-4FF5-8CCE-A24FC513FD16/Windows6.1-KB2506143-x64.msu’, ‘c:\Windows6.1-KB2506143-x64.msu’) .\Windows6.1-KB2506143-x64.msu It is not unattended installation. You will be prompted several times to click Next.
Installing AWS CloudFormation Command Line Tools on Windows Core
AWS CloudFormation Command Line Tools (new-object System.Net.WebClient).DownloadFile(‘https://s3.amazonaws.com/cloudformation-cli/AWSCloudFormation-cli.zip’, ‘c:\AWSCloudFormation-cli.zip’) (new-object System.Net.WebClient).DownloadFile(‘https://s3.amazonaws.com/velaskec/7z920.exe’, ‘c:\7z920.exe’) (start 7z ‘x c:\AWSCloudFormation-cli.zip -oc:\ -r’ -wait -PassThru).ExitCode
AWS PowerShell store credentials
The AWS Tools for Windows PowerShell enable you to set up default credentials and a default region which can be used in every PowerShell session you run. This approach avoids having to specify these every time you run a cmdlet. The default credentials are placed in the credentials store under the profile name, AWS PS Default.Continue reading “AWS PowerShell store credentials”
Downloading object from Amazon S3 by using PowerShell
AWS Tools for Windows PowerShell start PowerShell Import-Module ‘C:\Program Files\AWS Tools\PowerShell\AWSPowerShell.psd1’ Read-S3Object -BucketName YOURBUCKETNAME -Key FILENAME -File c:\FILENAME