what really helped me was how you really took the time to explain how $object variable worked. The way i understood it was basically when you start a foreach statement that tells powershell that whatever the first variable in the parentheses is, is basically the variable to be able to cycle through all the objects in the previously declared variable such as $ourobjectsarray
Super awesome explanation. Since I have found your videos I have made way and way more progress than from the book alone that I bought. I'll try to put as much of what I learn into actual practice.
Hi, thanks. This helped me a lot. I have an question, i have an similar scenario, i have an method which will invoke an restapi. In the main function i have added the foreach loop with a CSV file while includes two values (.id1 and .id2) which should be passed into rest API request. I'm getting 502 bad gateway error while doing that. The same API works fine on postman with collection runner
I'm assuming you've probably figured out how to do that by now. Your question carries too many assumptions. But, seems like a good one. I've got an answer for you. Let's say you want to add a property during a loop. Is it a property that you need to create or index during a loop? If so, that's pretty easy. You have to create an index array first. $Item = @( 0..number of entries you want to have ) Then you have to iterate through those indexes to add everything. Foreach ( $i in 0..( $item.count - 1 ) ) # this sets up a numerical anchor/index to reference within the loop { $item[$_] = @{ Property1 = "Value1" ; Property2 = "Value2" ; Property3 = "Value3" } } This string here will SET those properties, and to reference each one later, you would use "$Item.Property1[0]" , you could also reference it by "$Item[0].Property1", whichever way you prefer. If you want to ADD to an existing hashtable, then $Item.Add("AddProperty","AddValue") There are other ways to do that but that seems to be the easiest, at least in my opinion. I could elaborate more? But this comment is getting a little long winded. Hope this helps.
Great Video share, i learn a lot , the easy way ! Wouldn;t be great if you post the link to the powershell you explained to Github or your site,like a blog ? Would be easy to execute and get out exercises !
Hi Shane. First time using Powershell and I need your advice. I have multiple files in a directory I want to create a script that reads in the directory path and for each file in the directory, I want to check if the content of the files have a non ascii character. If there is a non ascii character I want to then write the file name to a output file. I found this scrpt in stackoverflow $nonASCII = "[^\x00-\x7F]" foreach ($_ in [System.IO.File]::ReadLines($source)){ if ($_ -cmatch $nonASCII){ write-output $_ | out-File $output -append } } Issue I have is how to I pass the directory and the files to $source?
What Im confused about is the .ojectpropertyname. For some reason that doesnt work for me? is that a property that can go at the end of any alias or does that need to be defined somewhere?
The ".ojectpropertyname" that is after the "$Object" is what your top Columnes are called in your .csv file.(They must be the exact same.) If you type your $object and then add a "." it should give you a list of things you can choose, here you want that to be what you called the Columnes you need the objects from
Hi, want help for an CSV file in which a column contains numbers, need to add a add a comment as "compliant" for the numbers between n to n-3, number below n-4 will be tagged "non-compliant". Suppose if today's latest version is 2111 then the lines with 2111, 2110, 2109, 2108 are compliant & the number below 2107 are non compliant. Please help.
I reversed engineered the foreach command start of command $b="6","3","99" $n=0 while($n -le $b.count){ $h=$b[$n];$n+=1 #do whatever you want below here but anything to do with $n. Basically don't mess with $n. echo $h } #end of foreach loop #everything below here is necessary to make sure that there are no unnecessary variables left. $n=$null $h=$null End of command Output: 6 3 99 the foreach equivalent of this: $b="6","3","99" foreach($h in $b){ echo $h } I know it takes a whole lot less using the foreach command in this example, but mine has a whole lot more customization. For example you couldn't have possibly gotten this output from a foreach command easily. 6 99 With mine though, you can do this easily. Just change the $n+=1 to $n+=2 and done.
when i did any changes in .ps1 file, those changes not working in first time. if I run again then working. please solve my issue. i want first time work how?
Hi Can you help me to solve my below problem using powershell Am having 2 csv file ..eg actual ad expected ... Actual Name actualver Chrome 12.4533. Fire eye 3.4 Expected Name expver Chrome 12.4566 Fire eye 3.4 My expected result is Name expver status actualver Chrome 12.4566 differ 12.4533 Fire eye 3.4 nodiffer 3.4
Hi Can you please make some video on working with power shell on Windows 10, and terminate process with domain administrator Rights, when the UAC is enabled through GP.
Shane Young I'm trying to kill the process on Windows 10 machine like winwork.exe. from wmi. Get-wmiobject - computer name $computername -class win32_process -filter "Name='winword.exe'" | foreach-object {$_.Terminate()} But it's giving the return value is 2, means Access Denied. Then I've use the -credential and the administrator account details in user name and password, but no luck. Please help me. One small observation from me that if the script running credentials and the process running credentials are same then it's kill that process.