আমি আমার ওয়ার্কস্টেশনে এমপি 3 ফাইলগুলি অনুসন্ধান করার জন্য একটি পাওয়ারশেল স্ক্রিপ্ট তৈরি করেছি। এটি আমার ওয়ার্কস্টেশনটিতে সফল, আমি এটি কীভাবে আমার ৮০ টি ওয়ার্কস্টেশনের নেটওয়ার্কে চালাতে পারি?
$strComputers = Get-Content -Path "C:\ARM\computernames.txt"
[bool]$firstOutput = $true
foreach($strComputer in $strComputers)
{
$colFiles = Get-Wmiobject -namespace "root\CIMV2" `
-computername $strComputer `
-Query "Select * from CIM_DataFile `
Where Extension = 'mp3'"
foreach ($objFile in $colFiles)
{
if($objFile.FileName -ne $null)
{
$filepath = $objFile.Drive + $objFile.Path + $objFile.FileName + "." `
+ $objFile.Extension;
$query = "ASSOCIATORS OF {Win32_LogicalFileSecuritySetting='" `
+ $filepath `
+ "'} WHERE AssocClass=Win32_LogicalFileOwner ResultRole=Owner"
$colOwners = Get-Wmiobject -namespace "root\CIMV2" `
-computername $strComputer `
-Query $query
$objOwner = $colOwners[0]
$user = $objOwner.ReferencedDomainName + "\" + $objOwner.AccountName
$output = $strComputer + "," + $filepath + "," + $user + "," + $objFile.FileSize/1KB + "," + $objFile.LastModified
if($firstOutput)
{
Write-output $output | Out-File -Encoding ascii -filepath "C:\ARM\pstdetails.csv"
$firstOutput = $false
}
else
{
Write-output $output | Out-File -Encoding ascii -filepath "C:\ARM\pstdetails.csv" -append
}
}
}
}
আমি যখন "computernames.txt" ফাইলটিতে কয়েকটি কম্পিউটারের নাম যুক্ত করে পিএস 1 ফাইলটি চালিত করি তখন নীচের ত্রুটিটি পিএস সি: \ ব্যবহারকারীগণ। PS1 get-Wmiobject: অ্যাক্সেস অস্বীকার করা হয়েছে denied (HRESULT থেকে ব্যতিক্রম: 0x80070005 (E_ACCESSDENIED)) সি এ: \ Users \ st.CONSULT-ALTIUS \ ডেস্কটপ \ mp3.ps1: 5 গৃহস্থালির কাজ: 13 + + $ colFiles = পান-Wmiobject -namespace "মূল \ CIMV2" `
—
শচীন তিওয়ারি
এই ত্রুটিটি ঘটে কারণ আপনার কাছে দূরবর্তী কম্পিউটারগুলির ক্যোয়ার করার অনুমতি নেই।
—
সাইমনস
-credential
প্যারামিটারটি যুক্ত করে দেখুন
আমি পাওয়ারশেলটিতে নতুন হিসাবে পরামিতি যুক্ত করার বিষয়ে কোনও পরামর্শ
—
শচীন তিওয়ারি
টেকনিকট.মাইক্রোসফট.ইন- ইউএস
—
ফ্র্যাঙ্ক থমাস
When using Get-WmiObject to connect to a remote computer, the remote computer must be running WMI and, under the default configuration, the account you are using must be in the local administrators group on the remote computer. The remote system does not need to have Windows PowerShell installed. This allows you to administer operating systems that are not running Windows PowerShell, but do have WMI available.
@ সচিনটিওয়ারি আপনাকে পিএসসিরেডেনসিয়াল অবজেক্ট তৈরি করতে হবে, এটিকে ভেরিয়েবলের মতো সংরক্ষণ
—
সাইমনস
$cred
করতে হবে এবং তার পরে এটি ব্যবহার করতে হবে gwmi -credential $cred
। কীভাবে PSCredentials তৈরি করবেন এবং সুরক্ষিত স্ট্রিংগুলির সাথে এখানে কীভাবে কাজ করবেন সে সম্পর্কিত তথ্য: 4sysops.com/archives/…