Import / Export-CLIXML kullanan bir örnek gördüm.
Çözmeye çalıştığınız sorun için en sevdiğim komutlar bunlar. Ve bunları kullanmanın en basit yolu.
$passwordPath = './password.txt'
if (-not (test-path $passwordPath)) {
$cred = Get-Credential -Username domain\username -message 'Please login.'
Export-CliXML -InputObject $cred -Path $passwordPath
}
$cred = Import-CliXML -path $passwordPath
Bu nedenle, dosya yerel olarak mevcut değilse, kimlik bilgilerini isteyecek ve saklayacaktır. Bu, [pscredential]
sorunsuz bir nesneyi alacak ve kimlik bilgilerini güvenli bir dize olarak gizleyecektir.
Son olarak, normalde yaptığınız gibi kimlik bilgilerini kullanın.
Restart-Computer -ComputerName ... -Credentail $cred
Güvenlik Üzerine Not :
Kimlik bilgilerini diskte güvenli bir şekilde saklayın
Çözümü okurken, ilk başta diske bir parola kaydetme konusunda dikkatli olabilirsiniz. Sabit sürücünüzü hassas bilgilerle kirletme konusunda dikkatli olmak doğal (ve tedbirli) olsa da, Export-CliXml cmdlet, Windows standart Veri Koruma API'sini kullanarak kimlik bilgisi nesnelerini şifreler. Bu, içeriğinin şifresini yalnızca kullanıcı hesabınızın doğru şekilde çözebilmesini sağlar. Benzer şekilde, ConvertFrom-SecureString cmdlet'i de sağladığınız parolayı şifreler.
Düzenleme: Orijinal soruyu tekrar okuyun. Yukarıdakiler [pscredential]
, sabit diske başlattığınız sürece çalışacaktır . Yani, onu betiğinize bırakırsanız ve betiği bir kez çalıştırırsanız, o dosyayı oluşturacak ve ardından betiği gözetimsiz çalıştırmak basit olacaktır.